// axios操作
// 请求相关的方法

import axios from 'axios'
//导入NProgress进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

//导入自定义后台
import {responseDispatch} from '../response/DispatchServlet'
// 初始化一个axios对象
var instance = axios.create({
    baseURL: 'http://localhost:8080',
    timeout:30000
});
 


// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    NProgress.start()
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    NProgress.done()
    return response;
  }, function (error) {
    // 对响应错误做点什么
    NProgress.done()
    return Promise.reject(error);
  });

let get =  function(url,params,response) {
    // 异步操作async
    // console.log("axios:请求开始：");
    // let data = await instance.get(url,{params})  
    // console.log("axios:请求返回的data：");
    // console.log(data);
    // return data
    let res = responseDispatch(url,params)
    return res;

}

let post = function(url,params) {
    // 异步操作
    // let data = await instance.get(url,params)
    // return data;
    
    let res = responseDispatch(url,params)
    return res;
}

//创建一个将token信息保存到请求头的方法
let setToken = function () {
    instance.defaults.headers.common['token'] = sessionStorage.getItem("token")
}

export {
    get,
    post,
    setToken
}